# coding=UTF-8
# Autor: Thiago Rodrigues Carvalho
# Criado em: 24/10/2014
# Atenção: Desenvolvido e testando em Python 3.4 (testes com Python 2.7 mostraram erro nas linhas de try/catch)

#Variáveis Globais
horas = 30
aMPM = ""
#Função para converter a hora
def vinteQuatroParaDoze(horas):
    global aMPM
    if(horas >= 12):
        aMPM = "P"
        return horas - 12
    else:
        aMPM = "A"
        return horas
#Função para imprimir a hora    
def imprimeHora(horas, minutos, fAMPM):
    if(fAMPM == "A"):
        metade = "A.M"
    else:
        metade = "P.M."
        
    print ("Hora convertida: " + str(horas) + ":" + str(minutos).zfill(2)  + " " + metade)
    print ("")
#Entrada de dados e execução
while(horas >= 0):
    try:
        horas=int(input("Digite a hora (Digite um valor negativo para terminar o programa):"))
        if(horas < 0 ):
            break
        minutos=int(input("Digite os minutos:"))
        
        if horas >= 0 and horas <= 23 and minutos >= 0  and minutos <= 59:
            horas = vinteQuatroParaDoze(horas)
            imprimeHora(horas, minutos, aMPM)
        else:
            print ("Entrada inválida. Tente Novamente.")
            print ("")
        
        
    except ValueError:
        print ("O valor digitado não é um número. Inicie o programa novamente.")